$(function () {
    //添加地址弹窗
    $(".addAddressBtn").click(function () {
        layer.open({
            title: '增加地址',
            type: 1,
            area: ['524px', '582px'],
            shadeClose: false, //点击遮罩关闭
            content: $("#addAddress")
        })
    });


    //新增地址省市区样式
    if ($("#address").next().hasClass("city-picker-span")) {
        $("#address").next().css("width", "321px");
        $("#address").next().css("height", "36px");
        $("#address").next().css("line-height", "36px");
        $("#address").next().next().css("left", "100px");
    }

    //修改省市区样式
    if ($("#upAddress").next().hasClass("city-picker-span")) {
        $("#upAddress").next().css("width", "321px");
        $("#upAddress").next().css("height", "36px");
        $("#upAddress").next().css("line-height", "36px");
        $("#upAddress").next().next().css("left", "100px");
    }

    //启动iCheck插件（设置默认地址）
    $('input').iCheck({
        checkboxClass: 'icheckbox_flat-red',
        radioClass: 'iradio_flat-red'
    });


    //新增保存
    $("#submitBtn").click(function () {
        if ($("#name").val() == "") {
            errorMsg("姓名不能为空");
            return false;
        }
        if (!/(^[\u4E00-\u9FA5]+$)|(^[\u4E00-\u9FA5]*·[\u4E00-\u9FA5]*$)/.test($("#name").val())) {
            errorMsg("姓名格式不正确");
            return false;
        }
        if ($("#mobile").val() == "" && $("#phone").val() == "") {
            errorMsg("手机号码和座机号码必须填写一个");
            return false;
        }
        if ($("#phone").val() != "") {
            if ((!$("#phone").val().match(/^0[\d]{2,3}-[\d]{7,8}$/)) && (!$("#phone").val().match(/^400(\d{7}|-\d{4}-\d{3})$/))) {
                errorMsg("请输入有效的座机号码");
                return false;
            }
        }
        if ($("#mobile").val() == "") {
            if ((!$("#phone").val().match(/^0[\d]{2,3}-[\d]{7,8}$/)) && (!$("#phone").val().match(/^400(\d{7}|-\d{4}-\d{3})$/))) {
                errorMsg("请输入有效的座机号码");
                return false;
            }
        } else {
            if (!(/^1[3456789]\d{9}$/.test($("#mobile").val())) && !(/^0[\d]{2,3}-[\d]{7,8}$/.test($("#mobile").val()))) {
                errorMsg("手机号格式不正确");
                return false;
            }
        }
        if ($("#address").val() == "") {
            errorMsg("省市区不能为空");
            return false;
        }
        if ($("#address").val().split('/').length != 3){
            errorMsg("请选择完整的省市区");
            return;
        }
        if ($("#detailedAddress").val() == "") {
            errorMsg("详细地址不能为空");
            return false;
        }
        var formData = $("#addForm").serialize();
        if ($("#isDefault").parent().hasClass("checked")) {
            formData += "&isDefault=0"
        } else {
            formData += "&isDefault=1"
        }
        $.ajax({
            data: formData,
            url: "/home/address/add",
            type: "POST",
            dataType: "json",
            success: function (data) {
                if (data.code == 0) {
                    successMsg("新增地址成功");
                    setTimeout(function () {
                        window.location.reload();
                    }, 1000);
                }
                else {
                    errorMsg(data.msg);
                }
            }
        });
    });


    //修改保存
    $("#submitEditBtn").click(function () {
        if ($("#upName").val() == "") {
            errorMsg("姓名不能为空");
            return false;
        }
        if (!/(^[\u4E00-\u9FA5]+$)|(^[\u4E00-\u9FA5]*·[\u4E00-\u9FA5]*$)/.test($("#upName").val())) {
            errorMsg("姓名格式不正确");
            return false;
        }
        if ($("#upMobile").val() == "" && $("#upPhone").val() == "") {
            errorMsg("手机号码和座机号码必须填写一个");
            return false;
        }
        if ($("#upPhone").val() != "") {
            if ((!$("#upPhone").val().match(/^0[\d]{2,3}-[\d]{7,8}$/)) && (!$("#upPhone").val().match(/^400(\d{7}|-\d{4}-\d{3})$/))) {
                errorMsg("请输入有效的座机号码");
                return false;
            }
        }
        if ($("#upMobile").val() == "") {
            if (!$("#upPhone").val().match(/^0[\d]{2,3}-[\d]{7,8}$/) && (!$("#upPhone").val().match(/^400(\d{7}|-\d{4}-\d{3})$/))) {
                errorMsg("请输入有效的座机号码");
                return false;
            }
        } else {
            if (!(/^1[3456789]\d{9}$/.test($("#upMobile").val())) && !(/^0[\d]{2,3}-[\d]{7,8}$/.test($("#upMobile").val()))) {
                layer.msg("手机号格式不正确");
                errorMsg("手机号格式不正确");
                return false;
            }
        }
        if ($("#upAddress").val() == "") {
            errorMsg("省市区不能为空");
            return false;
        }
        if ($("#upAddress").val().split('/').length != 3){
            errorMsg("请选择完整的省市区");
            return;
        }
        if ($("#upDetailedAddress").val() == "") {
            errorMsg("详细地址不能为空");
            return false;
        }
        var formData = $("#editForm").serialize();
        if ($("#upIsDefault").parent().hasClass("checked")) {
            formData += "&isDefault=0"
        } else {
            formData += "&isDefault=1"
        }
        $.ajax({
            data: formData,
            url: "/home/address/update",
            type: "POST",
            dataType: "json",
            success: function (data) {
                if (data.code == 0) {
                    successMsg("修改成功");
                    setTimeout(function () {
                        window.location.reload();
                    }, 1000);
                }
                else {
                    errorMsg(data.msg);
                }
            }
        });
    });

});


//删除一行数据
function addressDelete(id) {
    layer.open({
        content: '确定删除该地址吗？',
        btn: ['确定', '取消'],
        yes: function (index) {
            layer.close(index);
            $.ajax({
                data: {id: id},
                url: "/home/address/delete",
                type: "POST",
                dataType: "json",
                success: function (data) {
                    if (data.code == 0) {
                        successMsg("删除成功");
                        setTimeout(function () {
                            window.location.reload();
                        }, 1000);
                    }
                    else {
                        errorMsg(data.msg);
                    }
                }
            });
        }
    })
}//end

//设置默认地址
function isDefaultAddress(id, self) {
    // 表示当前选中的地址类别，默认选中寄件人[寄件人地址、收件人地址]
    var currentAddressCategory = AddressCategoryEnum.sender;
    // 当前点击项
    var $self = $(self);
    // 如果已是默认地址，则拒绝操作
    if ($self.hasClass("active")) {
        layer.msg("当前已是默认地址");
        return false;
    }
    layer.open({
        content: '确定设为默认地址吗？'
        , btn: ['确定', '取消']
        , yes: function (index) {
            layer.close(index);
            $.ajax({
                data: {
                    id: id,
                },
                url: "/home/address/defaultAddress",
                type: "POST",
                dataType: "json",
                success: function (data) {
                    if (data.code == 0) {
                        successMsg("设置成功");
                        setTimeout(function () {
                            window.location.reload();
                        }, 1000);

                    }
                    else {
                        errorMsg(data.msg);
                    }
                }
            });
        }
    });
}

// 打开“修改地址”窗体
function updateAddress(id) {
    layer.open({
        title: '修改地址',
        type: 1,
        area: ['524px', '582px'],
        shadeClose: false, //点击遮罩关闭
        content: $("#editAddress")
    });
    InitializeForm(id);
}

// 初始化修改地址窗体表单
function InitializeForm(id) {

    //清除修改信息页面得默认选中
    if ($("#upIsDefault").parent().hasClass("checked")) {
        $("#upIsDefault").parent().removeClass("checked");
    }
    if ($("#SENDER").parent().hasClass("checked")) {
        $("#SENDER").parent().removeClass("checked");
    }
    if ($("#RECIPIENT").parent().hasClass("checked")) {
        $("#RECIPIENT").parent().removeClass("checked");
    }
    $.ajax({
        data: {id: id},
        url: "/home/address/initializeForm",
        type: "GET",
        dataType: "json",
        success: function (data) {
            if (data.data != null) {
                $("form#editForm").formFill({data: data.data});
                if (data.data.isDefault == 0) {
                    $("#upIsDefault").parent().addClass("checked");
                }
                if (data.data.homeUserType == "SENDER") {
                    $("#SENDER").parent().addClass("checked");
                } else if (data.data.homeUserType == "RECIPIENT") {
                    $("#RECIPIENT").parent().addClass("checked");
                }
                $(".city-picker-span .placeholder").text(data.data).css("color", "#000");
            } else {
                layer.open({
                    content: '该地址已不存在'
                    , btn: '知道了'
                    , yes: function () {
                        window.location.reload();
                    }
                });
            }
        }
    });
}

//点击新增重置按钮
$("#clearBtn").click(function () {
    $("#name").val() == "";
    $("#mobile").val() == "";
    $("#phone").val() == "";
    $("#address").val() == "";
    $("#detailedAddress").val() == "";
});

//点击修改重置按钮
$("#clearEditBtn").click(function () {
    $("#upName").val() == "";
    $("#upMobile").val() == "";
    $("#upPhone").val() == "";
    $("#upAddress").val() == "";
    $("#upDetailedAddress").val() == "";
});



